Core.Action.Abstract = function(struct) {
	this.children = [];
	this.struct = struct;
};

Core.Action.Abstract.prototype = {
		
	getStructure: function() {
		var content, id = this.struct.id;
		
		if(id) { content = Core.Action.Into.retrieve(id); }
		if(!content) { content = this.struct.content || []; }
		
		return content;
	},
	
	createContent: function() {
		var structs = this.getStructure(),
			l = structs.length;
		
		// Children create
		for(var i = 0; i < l; i++) {
			this.children.push(Core.Action.Store.create(structs[i]));
		}
		
		// Children attach
		for(var i = 0; i < l; i++) {
			this.children[i].attach(this, this.children[i+1]);
		}
	}
};